package be.technofuturTic;

import java.util.List;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.support.JdbcDaoSupport;

public class PersonneJdbcDao extends JdbcDaoSupport implements PersonneDao 
{
	public String getNom(int id) 
	{
		String sql = "SELECT nom FROM personne WHERE id = ?";
		try		
		{
			return (String) getJdbcTemplate().queryForObject(sql, new Object[] { id }, String.class);
		}
		catch(EmptyResultDataAccessException e)
		{
			return null;
		}
	}

	public List<Personne> findPersonnes() 
	{
		return null;
	}

	public Personne findPersonne(int id) 
	{
		String sql = "SELECT * FROM personne WHERE id = ?";
		try
		{
			return getJdbcTemplate().queryForObject(sql,new Object[] { id }, new PersonneMapper());
		}
		catch(EmptyResultDataAccessException e)
		{
			return null;
		}
	}

	public List<Personne> findPersonne(String prenom) {

		String sql = "SELECT * FROM personne WHERE prenom = ?";		
		try
		{
			return getJdbcTemplate().query(sql,new Object[] { prenom }, new PersonneMapper());
		}
		catch(EmptyResultDataAccessException e)
		{
			return null;
		}
	}

	public void createPersonne(Personne personne) 
	{
		String sql = "INSERT INTO personne (nom,prenom) VALUES (?,?)";
		getJdbcTemplate().update(sql,new Object[] { personne.getNom(),personne.getPrenom() });
	}

	public void updatePersonne(Personne personne) 
	{
		String sql = "UPDATE personne SET nom = ? , prenom = ? WHERE id = ?";
		getJdbcTemplate().update(sql,new Object[] { personne.getNom(),personne.getPrenom(),personne.getId() });
	}

	public void deletePersonne(Personne personne) 
	{
		String sql = "DELETE FROM personne WHERE id = ?";
		if(personne!=null)
		{
			getJdbcTemplate().update(sql,new Object[] { personne.getId() });
		}
	}

	public boolean estHomonyme(String str) 
	{
		return false;
	}
}
